#ifndef QXGAME_HERO_H
#define QXGAME_HERO_H

#include "../base/Character.h"
#include "SkillId.h"

class Hero : public Character {
public:
    Hero() = default;
    ~Hero() override = default;
    void OnUpdate(double delta) override;
    void ResetStatus() override;
    void ReleaseSkill(uint16_t idx) override;
    void Attack() override;
    virtual void Chant();
    virtual void Release();
public:
    std::atomic<bool> isRelease = false;
    std::atomic<bool> isChant = false;
    GameAnimation animRelease[Facing::SIZE];
    GameAnimation animChant[Facing::SIZE];
    Mix_Chunk *releaseMix = nullptr;
    Mix_Chunk *chantMix = nullptr;
    std::vector<SkillId> skillList;
};


#endif //QXGAME_HERO_H
